// Copy Trait
pub fn start() {
    let data = "test".to_string();
    let clone_closure = || {
        println!("{}", data);
    };
    clone_closure();
    clone_closure();
    // 这里实现了Copy，因为data的捕获是不变的引用。
    // 不变的引用默认是Copy的，而当前这个closure只捕获了一个变量，
    // 这个变量是Copy的，那么closure就是Copy的
    let closure_two = clone_closure;
    clone_closure();
    closure_two();

    let data = "test".to_string();
    let clone_closure = move || {
        println!("{}", data);
    };
    clone_closure();
    clone_closure();
    let closure_two = clone_closure;
    // 因为 data 没有实现Copy，所以clone_closure也没有Copy
    // clone_closure(); // value borrowed here after move
    closure_two();
}
